home *** CD-ROM | disk | FTP | other *** search
- public class BBSComp extends ComponentApp {
- DAssetManager cam;
- DDrawPicture cdp;
- int idScript;
- String Subdirectory;
- String Title;
- String UnixWindows;
- String PerlPath;
- boolean AdminTool;
- String codeBase;
- static int onlyYou;
- int onlyYouInvalid;
- static final int MAXASSET = 50;
- boolean published;
- int[] assetControl;
- int assetCount;
- int tAssetCount;
-
- public String PropertyListener(String var1, String var2, int var3, int var4, IDInspector var5) {
- if (var3 == 1) {
- if (var1.compareTo("Subdirectory") == 0) {
- return this.Subdirectory;
- }
-
- if (var1.compareTo("Page Title") == 0) {
- return this.Title;
- }
-
- if (var1.compareTo("Publish to") == 0) {
- if (this.UnixWindows.compareTo("Windows") == 0) {
- return "0";
- }
-
- if (this.UnixWindows.compareTo("Unix") == 0) {
- return "1";
- }
-
- if (this.UnixWindows.compareTo("Mac") == 0) {
- return "2";
- }
- } else if (var1.compareTo("Perl Path for Unix") == 0) {
- return this.PerlPath;
- }
- } else {
- if (var1.compareTo("Subdirectory") == 0) {
- this.Subdirectory = var2;
- } else if (var1.compareTo("Page Title") == 0) {
- this.Title = var2;
- } else if (var1.compareTo("Publish to") == 0) {
- if (var2.compareTo("0") == 0) {
- this.UnixWindows = "Windows";
- } else if (var2.compareTo("1") == 0) {
- this.UnixWindows = "Unix";
- } else {
- this.UnixWindows = "Mac";
- }
- } else if (var1.compareTo("Perl Path for Unix") == 0) {
- this.PerlPath = var2;
- }
-
- this.cdp.setHTMLBefore("<a href=\"#\" target=_self onclick='launchBBS(\"" + this.Subdirectory + "\",\"" + this.Title + "\")'>");
- this.cdp.setHTMLAfter("</a>");
- }
-
- return "";
- }
-
- public void onCopy() {
- this.Subdirectory = new String(this.Subdirectory);
- this.Title = new String(this.Title);
- this.PerlPath = new String(this.PerlPath);
- this.codeBase = new String(this.codeBase);
- this.cam.CopyAsset(this.idScript);
- int[] var1 = new int[50];
-
- for(this.tAssetCount = 0; this.tAssetCount < this.assetCount; ++this.tAssetCount) {
- this.cam.CopyAsset(this.assetControl[this.tAssetCount]);
- var1[this.tAssetCount] = this.assetControl[this.tAssetCount];
- }
-
- this.assetControl = var1;
- }
-
- private String getJavaScript() {
- return "function newCookie(name, value){\n document.cookie = name + \"=\" + value + \"; path=/; domain=\" + location.hostname + \";\"; \n}\nfunction launchBBS(URL,Title){\n var direct = location.pathname; \n if((location.pathname.lastIndexOf(\"/\") + 1) == location.pathname.length){\t\n\t direct = location.pathname;\t \n\t }\t \n else{\t\n direct = location.pathname.substring(0,location.pathname.lastIndexOf(\"/\")) + \"/\";\t \n\t }\n if (direct.substring(direct.length - 5, direct.length - 1) == \"html\"){\n direct = direct.substring(0, direct.length - 6) + \"/\";\n } \n" + "if (location.port.length == 0){\n\tNURL= location.protocol+\"//\" + location.hostname + direct + URL + \"/\";\n }\n\t else {\n NURL= location.protocol+\"//\" + location.hostname + \":\" + location.port + direct + URL + \"/\";\n\t} \n var WinName = window.open(NURL+'index.html','netobjects_bbs','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,copyhistory=0,width=800,height=600');\n if (navigator.appVersion.indexOf(\"(X11\") != -1 ||\n navigator.appVersion.indexOf(\"(Mac\") != -1)\n newWin = window.open(NURL+'index.html','netobjects_bbs');\nnewCookie(\"URL\",NURL);\nnewCookie(\"Title\",Title);\nnewCookie(\"CgiURL\",NURL+\"cgi-bin\");\nnewCookie(\"GifURL\",NURL+\"image/webforum.gif\");\n} \n";
- }
-
- public String onInstall(DAssetManager var1, String var2) {
- this.cam = var1;
- this.codeBase = var2;
- return "BBS";
- }
-
- protected void finalize() {
- this.cam.RemoveAsset(this.idScript);
- if (this.published) {
- for(this.assetCount = 0; this.assetCount < 50; ++this.assetCount) {
- this.cam.RemoveAsset(this.assetControl[this.assetCount]);
- }
- }
-
- if (this.onlyYouInvalid == 0) {
- onlyYou = 0;
- }
-
- }
-
- public void onPublish(DAssetManager var1, int var2) {
- this.cdp.setHTMLBefore("<a href=\"#\" target=_self onclick='launchBBS(\"" + this.Subdirectory + "\",\"" + this.Title + "\")'>");
- this.cdp.setHTMLAfter("</a>");
- String var4 = this.codeBase;
- DFile var5 = new DFile();
- String var3 = var5.GetPathChar();
- if (this.published) {
- for(this.assetCount = 0; this.assetCount < 50; ++this.assetCount) {
- this.cam.RemoveAsset(this.assetControl[this.assetCount]);
- }
- }
-
- this.assetCount = 0;
- this.published = true;
- this.assetControl[this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "bbs-control.html", "HTML\u0000", this.Subdirectory);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "bbs-message.html", "HTML\u0000", this.Subdirectory);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "blank.html", "HTML\u0000", this.Subdirectory);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "index.html", "HTML\u0000", this.Subdirectory);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "dot24_clear.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "background.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "clear.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "expand.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "listby.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "newmessage.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "next.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "previous.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "reload.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "image" + var3 + "reply.gif", "Image\u0000", this.Subdirectory + var3 + "image");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "html" + var3 + "error-char.html", "HTML\u0000", this.Subdirectory + var3 + "html");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "html" + var3 + "error.html", "HTML\u0000", this.Subdirectory + var3 + "html");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "html" + var3 + "success.html", "HTML\u0000", this.Subdirectory + var3 + "html");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "html" + var3 + "url-only-char.html", "HTML\u0000", this.Subdirectory + var3 + "html");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "html" + var3 + "urlreply.html", "HTML\u0000", this.Subdirectory + var3 + "html");
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "message" + var3 + "bbs-data.original", "HTML\u0000", this.Subdirectory + var3 + "message");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 452);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "message" + var3 + "zero.counter", "HTML\u0000", this.Subdirectory + var3 + "message");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 452);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(this.Subdirectory + "" + var3 + "message" + var3 + "", "SubDir\u0000", "");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 455);
- if (this.UnixWindows.compareTo("Windows") == 0) {
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "cgi-bin-NT" + var3 + "bbs-submit.cgi", "CGI\u0000", this.Subdirectory + var3 + "cgi-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "cgi-bin-NT" + var3 + "submit-bbs-form.cgi", "CGI\u0000", this.Subdirectory + var3 + "cgi-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "cgi-bin-NT" + var3 + "Buf.dll", "CGI\u0000", this.Subdirectory + var3 + "cgi-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- } else if (this.UnixWindows.compareTo("Mac") == 0) {
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "cgi-bin-mac" + var3 + "bbs-submit.cgi", "CGI\u0000", this.Subdirectory + var3 + "cgi-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "cgi-bin-mac" + var3 + "submit-bbs-form.cgi", "CGI\u0000", this.Subdirectory + var3 + "cgi-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- } else {
- if (this.UnixWindows.compareTo("Unix") == 0) {
- DFile var6 = new DFile();
- DFile var7 = new DFile();
- var7.Open(var4 + "bbs" + var3 + "cgi-bin-Unix" + var3 + "config", 0);
- var6.Open(var4 + "bbs" + var3 + "cgi-bin" + var3 + "config", 4097);
- var6.WriteString("#!" + this.PerlPath + "\n", -1);
- var6.WriteString(var7.ReadString(10000), -1);
- var6.Close();
- var7.Close();
- var7.Open(var4 + "bbs" + var3 + "cgi-bin-Unix" + var3 + "submit-bbs-form.cgi", 0);
- var6.Open(var4 + "bbs" + var3 + "cgi-bin" + var3 + "submit-bbs-form.cgi", 4097);
- var6.WriteString("#!" + this.PerlPath + "\n\n", -1);
- var6.WriteString(var7.ReadString(20000), -1);
- var6.Close();
- var7.Close();
- var7.Open(var4 + "bbs" + var3 + "cgi-bin-Unix" + var3 + "bbs-submit.cgi", 0);
- var6.Open(var4 + "bbs" + var3 + "cgi-bin" + var3 + "bbs-submit.cgi", 4097);
- var6.WriteString("#!" + this.PerlPath + "\n", -1);
- var6.WriteString(var7.ReadString(20000), -1);
- var6.Close();
- var7.Close();
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "cgi-bin" + var3 + "bbs-submit.cgi", "CGI\u0000", this.Subdirectory + var3 + "cgi-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "cgi-bin" + var3 + "config", "CGI\u0000", this.Subdirectory + var3 + "cgi-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "cgi-bin" + var3 + "submit-bbs-form.cgi", "CGI\u0000", this.Subdirectory + var3 + "cgi-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- if (!this.AdminTool) {
- var7.Open(var4 + "bbs" + var3 + "admin-bin-Unix" + var3 + "deleteMessage.cgi", 0);
- var6.Open(var4 + "bbs" + var3 + "admin-bin" + var3 + "deleteMessage.cgi", 4097);
- var6.WriteString("#!" + this.PerlPath + "\n", -1);
- var6.WriteString(var7.ReadString(10000), -1);
- var6.Close();
- var7.Close();
- var7.Open(var4 + "bbs" + var3 + "admin-bin-Unix" + var3 + "resetBBS.cgi", 0);
- var6.Open(var4 + "bbs" + var3 + "admin-bin" + var3 + "resetBBS.cgi", 4097);
- var6.WriteString("#!" + this.PerlPath + "\n\n", -1);
- var6.WriteString(var7.ReadString(20000), -1);
- var6.Close();
- var7.Close();
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "admin-bin" + var3 + "deleteMessage.cgi", "CGI\u0000", this.Subdirectory + var3 + "admin-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- this.assetControl[++this.assetCount] = this.cam.AddAsset(var4 + "bbs" + var3 + "admin-bin" + var3 + "resetBBS.cgi", "CGI\u0000", this.Subdirectory + var3 + "admin-bin");
- this.cam.SetPublishAssetMode(this.assetControl[this.assetCount], 453);
- }
- }
-
- }
- }
-
- void OnDropOK() {
- this.cam.InsertScript("bbs_script_layout", this.getJavaScript());
- onlyYou = 1;
- }
-
- public void onDrop(IDLayout var1, IDRect var2, int var3) {
- if (var3 != 1) {
- if (var3 == 3) {
- if (this.CheckTwoInstancesError()) {
- return;
- }
-
- this.OnDropOK();
- }
-
- } else if (!this.CheckTwoInstancesError()) {
- this.assetControl = new int[50];
- int var4 = 0;
-
- do {
- this.assetControl[var4] = 0;
- ++var4;
- } while(var4 < 50);
-
- String var8 = this.codeBase;
- this.Subdirectory = "bbs";
- this.Title = "NetObjects BBS";
- this.UnixWindows = "Windows";
- this.AdminTool = true;
- this.PerlPath = "/usr/local/bin/perl";
- this.cdp = new DDrawPicture();
- DImage var5 = new DImage();
- var5.setImageFile(var8 + "bbs\\image\\BBSComp.gif");
- IDSize var6 = var5.getSize();
- this.cdp.setImageFile(var8 + "bbs\\image\\BBSComp.gif");
- this.cdp.SetPositionRect(var2.getLeft(), var2.getTop(), var2.getLeft() + var6.getWidth(), var2.getTop() + var6.getHeight());
- this.cdp.setStretch(1);
- this.idScript = this.cam.AddAsset("bbs_script_layout", "Java Script\u0000", "");
- var1.AddObject(this.cdp);
- this.OnDropOK();
- }
- }
-
- public void onInspect(CStringArray var1, CStringArray var2) {
- if (this.onlyYouInvalid != 1) {
- var1.Set("Subdirectory");
- var2.Set("String\u0000");
- var1.Set("Page Title");
- var2.Set("String\u0000");
- var1.Set("Publish to");
- var2.Set("Set(Windows|Unix|Mac)");
- var1.Set("Perl Path for Unix");
- var2.Set("String\u0000");
- }
- }
-
- boolean CheckTwoInstancesError() {
- if (onlyYou == 1) {
- DMessageBox var1 = new DMessageBox();
- var1.Warnning("Only one BBS Component is allowed per NOD file. Please delete the extra BBS Components.");
- this.onlyYouInvalid = 1;
- return true;
- } else {
- return false;
- }
- }
- }
-